Global navigation satellite system (GNSS) constellations include, for example, the global positioning system (GPS) constellation, the Globalnaya Navigatsionnaya Sputnikovaya Sistema (GLONASS) constellation, the Galileo constellation, the BeiDou navigation satellite system constellation, the Indian regional navigation satellite system (IRNSS) constellation, the Quasi-Zenith satellite system (QZSS) constellation, and constellations of satellite based augmentation systems (SBAS) in well-defined geostationary orbits. Each satellite in the GNSS constellations continuously broadcasts GNSS signals that contain accurate system time and an orbital position of the corresponding satellite. In general, the GNSS constellations use a channel access method, for example, a code division multiple access (CDMA) technique or a frequency division multiple access (FDMA) technique for broadcasting the GNSS signals. In the CDMA technique, multiple GNSS signals are simultaneously transmitted over a single communication channel, for example, by multiplexing multiple GNSS signals onto the same frequency. Furthermore, in the CDMA technique, each satellite in the GNSS constellations is assigned a pseudo random noise (PRN) code that is used to modulate a broadcasted GNSS signal. For example, the GPS constellation contains three PRN codes comprising, for example, a coarse/acquisition (C/A) code, a military (M code), and a precision (P) code. In the FDMA technique used, for example, by the GLONASS constellation, each satellite is assigned a center frequency that is modulated using a common PRN code to spread power. Furthermore, channel selection of each satellite in the FDMA technique is based on frequency separation.
In a global navigation satellite system (GNSS), a GNSS receiver capable of measuring position, velocity, and accurate time using a GNSS signal comprises an antenna for receiving GNSS signals, a radio frequency front end for downconverting and digitizing GNSS signals received by the antenna, and a GNSS baseband engine for acquiring and tracking the digitized GNSS signals. In a typical GNSS receiver architecture, the major computationally intensive part of the GNSS receiver is the GNSS baseband engine. The GNSS baseband engine comprises multiple correlators that allow the GNSS receiver to achieve high sensitivity to extract and calculate a position for a weak GNSS signal, and an optimal time to first fix, which is a measure of time needed by the GNSS receiver to acquire satellite signals and navigation data, and calculate a position solution, referred to as a “fix”. Conventionally, the correlators in the GNSS baseband engine of the GNSS receiver are used during an acquisition and tracking stage of GNSS signal processing. The GNSS receiver assigns one or more correlators for acquiring and tracking each individual GNSS signal. With ever increasing GNSS constellations, there is an increased need for GNSS receivers capable of receiving and processing multiple GNSS signals transmitted by satellites in all the GNSS constellations.
In a conventional multi-frequency global navigation satellite system (GNSS) receiver, each GNSS signal from each satellite is processed independently. The GNSS baseband engine of the multi-frequency GNSS receiver comprises multiple parallel correlators for achieving an optimal time to first fix and high sensitivity. The multi-frequency GNSS receiver assigns one or more correlators for acquiring and tracking each individual GNSS signal and searching a particular frequency and a pseudo random noise (PRN) code delay. For example, in a typical commercial global positioning system (GPS) receiver, a frequency search space ranges from about −10 kilohertz (KHz) to about +10 KHz and searched in steps of about 250 Hertz (Hz). The PRN code delay search space is, for example, about 1023 chips and is searched in steps of about 0.5 chips. Hence, in total, there are 80 frequency bins and 2046 code delay bins to be searched. Since a GNSS signal requires a simultaneous search in both frequency and code, the total search space is, for example, 160,000 bins. Therefore, 160,000 parallel correlators are required to perform a search for a single GPS satellite at a given time. Assigning one or more correlators to acquire and track each individual GNSS signal and search a particular frequency and a PRN code delay increases logic area and power consumption of the GNSS receiver. While conventional GNSS receivers are configured to receive GNSS signals from different GNSS constellations to provide accurate and reliable position, velocity, and time, the tradeoff is the increased size of the GNSS receivers and the power consumption. Hence, there is a need for a multi-frequency GNSS receiver with reduced logic area and power consumption.
A standard correlator comprising a local carrier generator, a complex mixer, a pseudo random noise (PRN) code generator, two simple mixers, and two accumulators is used for processing complex intermediate frequency (IF) data represented as (a+jb) of a single global navigation satellite system (GNSS) signal, where “a” refers to a real part of the complex IF data and “jb” refers to an imaginary part of the complex IF data, and where “j” is an imaginary unit equal to square root of negative one, that is, j=√{square root over (−1)}. The processing of the complex IF data comprises searching a frequency and a PRN code delay. The local carrier generator generates a complex carrier signal represented as (c+jd), where “c” refers to a real part of the complex carrier signal and “jd” refers to an imaginary part of the complex carrier signal, and where “j” is an imaginary unit equal to square root of negative one, that is, j=√{square root over (−1)}. A carrier signal is an oscillating signal in the form of a transmitted electromagnetic pulse or wave suitable for modulation by an information bearing signal, for example, the GNSS signal. The complex mixer mixes N samples of incoming complex IF data (a+jb) with a locally generated complex carrier signal (c+jd) for producing inphase ((ac−bd), real valued) components and quadrature phase ((ad+bc), imaginary valued) components. The PRN code generator generates a PRN code bit sequence for a particular satellite. The two simple mixers mix the PRN code bit sequence and the inphase components and the quadrature phase components of the complex mixer output.
The two accumulators of the standard correlator coherently accumulate inphase (If) and quadrature phase (Qf) correlation components of the N samples of the IF data, dump the accumulated result, and continue accumulation of the If and the Qf correlation components of the next N samples of the IF data. The rate of output of the accumulators is reduced by a factor of N as compared to the input complex IF data sampling rate, fs. The If and the Qf correlation components constitute one carrier frequency and one PRN code bit sequence. Typically, two standard correlators are required to compute correlation values of a positive frequency and a negative frequency for a single GNSS signal. If the incoming complex IF data is to be searched for a negative frequency, while searching for a positive frequency, then two standard correlators are required for searching positive components and negative components of the same frequency bin, where the frequency bin refers to magnitude of the frequency only and not the sign of the frequency, and where one correlator searches for the negative frequency and the other correlator searches for the positive frequency. Both these correlators search the incoming complex IF data for the same PRN code bit sequence for both the positive components and the negative components of the same frequency bin. This doubles the required logic area and increases power consumption of the standard correlator. Hence, there is a need for a single correlator that computes correlation values of a positive frequency and a negative frequency for a single GNSS signal.
A common method for reducing the size and power consumption of a global navigation satellite system (GNSS) receiver is use of an application specific integrated circuit (ASIC) for processing multiple GNSS signals. However, even with the ASIC, many commercial applications are battery operated and require substantially low power consumption with a low cost of the ASIC. The cost of the ASIC is driven by the logic area which in turn is governed by the architecture of the GNSS receiver. The large number of parallel correlators in the GNSS receiver used for achieving an optimal time to first fix and high sensitivity, which are specifications for most battery operated applications, increases the logic area of the GNSS receiver. Increase in the logic area of the GNSS receiver increases the power consumption and cost of the GNSS receiver. Hence, there is need for a method for reducing the logic area of a GNSS receiver and consecutively reducing the power consumption and the cost of the ASIC chipset of the GNSS receiver.
Hence, there is a long felt need for a global navigation satellite system (GNSS) receiver with a sequential chip mixed frequency correlator array system comprising M mixed frequency correlators deployed in a GNSS baseband engine of the GNSS receiver with reduced logic area, reduced power consumption, and reduced cost of the application specific integrated circuit (ASIC) chipset of the GNSS receiver, where each M mixed frequency correlator generates correlation values for a positive frequency and a negative frequency of a single GNSS signal.